Fix fan_mode + fan_mode_duration rejection in set_state #173
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a logic bug in
set_state()where passing both--fan-modeand--fan-mode-durationwould incorrectly raise a "only one attribute at a time" error — even though that combination is supposed to be allowed.The issue was that
fan_mode_durationwas being treated as a separate top-level attribute in the mutual exclusivity check. So even when used correctly (withfan_mode), it got flagged.What changed
fan_mode_durationfrom the list of mutually exclusive fields.fan_modeandfan_mode_durationmust be passed together is still in place.Why it matters
This unblocks valid usage patterns — including Home Assistant and CLI calls — that need to set both
fan_modeandfan_mode_durationtogether.